/**
 * Usuario.java 
 * Clase que respresenta un usuario registrado como tal en la base de datos.
 * @author Esther García Galán
 * @author Rubén Gómez Vales
 */
package ocio.beans;

import java.io.Serializable;
import java.util.Date;

/**
 * Respresenta un un usuario registrado como tal en la base de datos. Puede ser de tipo administrador,
 * cliente o proveedor de ofertas. Contiene los elementos comunes a todos los tipos de usuario.
 * @author Esther García Galán
 * @author Rubén Gómez Vales
 * @version 1.0 13/05/2014
 * @see ocio.beans.Admin
 * @see ocio.beans.Cliente
 * @see ocio.beans.Proveedor
 * 
 */
public class Usuario implements Serializable {
	private static final long serialVersionUID = 1L;
	private int id;
	private String nombre;
	private String correo;
	private String password;
	private int rol; // 1-Admin 2-Cliente 3-Proveedor
	private boolean baja;
	private Date fechabaja;
	
	/**
	 * Constructor de Clase.	
	 */
	public Usuario() {
		
	}
	
	 /**
	 * Método getter.         
	 * @return id Devuelve el identificador único en base de datos del usuario.
	 */ 
	public int getId() {
		return id;
	}
	
	/**
	 * Método setter.         
	 * @param id Asigna al usuario un identificador único para la base de datos.
	 */ 
	public void setId(int id) {
		this.id = id;
	}
	
	 /**
	 * Método getter.         
	 * @return correo Devuelve el correo electrónico del usuario, utilizado 
	 * como nombre de usuario para al acceso a la página web.
	 */ 
	public String getCorreo() {
		return correo;
	}
	
	/**
	 * Método setter.         
	 * @param correo Establece el correo electrónico del usuario, utilizado 
	 * como nombre de usuario para al acceso a la página web.
	 */ 
	public void setCorreo(String correo) {
		this.correo = correo;
	}

	 /**
	 * Método getter.         
	 * @return password Devuelve la contraseña del usuario.
	 */ 
	public String getPassword() {
		return password;
	}

	
	/**
	 * Método setter.         
	 * @param password Establece la contraseña del usuario.
	 */ 
	public void setPassword(String password) {
		this.password = password;
	}

	 /**
	 * Método getter.         
	 * @return rol Devuelve el rol o tipo del usuario, 1 para administrador,
	 * 2 para cliente y 3 para proveedor de ofertas.
	 */ 
	public int getRol() {
		return rol;
	}

	/**
	 * Método setter.         
	 * @param rol Establece el rol o tipo del usuario, 1 para administrador,
	 * 2 para cliente y 3 para proveedor de ofertas.
	 */ 
	public void setRol(int rol) {
		this.rol = rol;
	}

	 /**
	 * Método getter.         
	 * @return nombre Devuelve el nombre del usuario.
	 */ 
	public String getNombre() {
		return nombre;
	}

	/**
	 * Método setter.         
	 * @param nombre Establece el nombre del usuario.
	 */ 
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	 /**
	 * Método getter.         
	 * @return baja Devuelve true o false según el usuario haya sido dado de baja o no.
	 */ 
	public boolean getBaja() {
		return baja;
	}

	/**
	 * Método setter.         
	 * @param baja Establece el valor lógico que indica si el usuario ha sido dado de baja (true) o no (false).
	 */ 
	public void setBaja(boolean baja) {
		this.baja = baja;
	}

	 /**
	 * Método getter.         
	 * @return fechabaja Devuelve la fecha en la que el usuario ha sido dado de baja.
	 */ 
	public Date getFechabaja() {
		return fechabaja;
	}

	/**
	 * Método setter.         
	 * @param fechabaja Establece la fecha en la que el usuario ha sido dado de baja.
	 */ 
	public void setFechabaja(Date fechabaja) {
		this.fechabaja = fechabaja;
	}
	
	
}
